package org.footballmanager.pandafootball.system.service;

import org.footballmanager.pandafootball.system.domain.FootBfinfo;

import javax.servlet.http.HttpServletRequest;

public interface RepeatService<T> extends BaseService<T> {
    /**
     * 根据用户主键获取记录
     *
     * @param userId 用户主键
     * @return 记录
     */
    T findByUserid(Long userId);

    /**
     * 报分确认后更新数据
     *
     * @param bf 报分实体
     */
    void addEncourage(FootBfinfo bf, HttpServletRequest request);

    /**
     * 删除报分后更新数据
     *
     * @param bf 报分实体
     */
    void deleteEncourage(FootBfinfo bf, HttpServletRequest request);

    /**
     * 处理报分后续功能加分
     *
     * @param zhufc   主场球队
     * @param kefc    客场球队
     * @param bf      报分实体
     * @param request 请求
     */
    void processAdd(T zhufc, T kefc, FootBfinfo bf, HttpServletRequest request);

    /**
     * 处理报分后续功能减分
     *
     * @param zhufc   主场球队
     * @param kefc    客场球队
     * @param bf      报分实体
     * @param request 请求
     */
    void processDelete(T zhufc, T kefc, FootBfinfo bf, HttpServletRequest request);

    /**
     * 补全本赛季没有加入的玩家
     *
     * @param sjId 赛季主键
     */
    void processFixBySj(Long sjId);
}

